home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 …ember: Reference Library / Apple Developer Reference Library (December 1999) (Disk 1).iso / mac / Technical Documentation / Develop / develop Issue 24 / develop Issue 24 code / Scriptable Database 1.0a15.sea / Scriptable Database 1.0a15 / Base / AbstractData.cp next >
MacBinary  |  1996-02-19  |  17.5 KB  |  [TEXT/CWIE]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert MS-DOS Code Page Info (other/dosCodePage) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Mon Feb 19 22:21:47 1996, modified Mon Feb 19 22:21:47 1996, creator 'CWIE', type ASCII, 17174 bytes "AbstractData.cp" , at 0x4396 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0f 41 62 73 74 72 61 | 63 74 44 61 74 61 2e 63 |..Abstra|ctData.c|
|00000010| 70 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |p.......|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 43 16 00 | 00 01 9a ad 4e ee cb ad |.....C..|....N...|
|00000060| 4e ee cb 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |N.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 5b b9 00 00 |........|....[...|
|00000080| 0d 23 69 6e 63 6c 75 64 | 65 20 22 41 62 73 74 72 |.#includ|e "Abstr|
|00000090| 61 63 74 44 61 74 61 2e | 68 22 0d 0d 2f 2f 0d 2f |actData.|h"..//./|
|000000a0| 2f 20 46 6f 72 20 42 6c | 6f 63 6b 4d 6f 76 65 44 |/ For Bl|ockMoveD|
|000000b0| 61 74 61 0d 2f 2f 0d 23 | 69 6e 63 6c 75 64 65 20 |ata.//.#|include |
|000000c0| 3c 4d 65 6d 6f 72 79 2e | 68 3e 0d 0d 2f 2f 2d 2d |<Memory.|h>..//--|
|000000d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00000120| 2f 20 43 6f 70 79 4d 65 | 6d 6f 72 79 0d 2f 2f 20 |/ CopyMe|mory.// |
|00000130| 0d 2f 2f 20 54 68 65 20 | 69 64 65 61 20 6f 66 20 |.// The |idea of |
|00000140| 68 61 76 69 6e 67 20 6f | 75 72 20 6f 77 6e 20 77 |having o|ur own w|
|00000150| 72 61 70 70 65 72 20 66 | 6f 72 20 6d 65 6d 6f 72 |rapper f|or memor|
|00000160| 79 20 63 6f 70 79 69 6e | 67 20 69 73 20 74 68 61 |y copyin|g is tha|
|00000170| 74 20 6d 65 6d 63 70 79 | 20 69 73 0d 2f 2f 20 6e |t memcpy| is.// n|
|00000180| 6f 74 20 61 6c 77 61 79 | 73 20 61 76 61 69 6c 61 |ot alway|s availa|
|00000190| 62 6c 65 20 28 69 74 20 | 73 68 6f 75 6c 64 20 62 |ble (it |should b|
|000001a0| 65 2c 20 62 75 74 20 69 | 74 20 64 6f 65 73 6e 27 |e, but i|t doesn'|
|000001b0| 74 20 61 70 70 65 61 72 | 20 69 6e 20 73 6f 6d 65 |t appear| in some|
|000001c0| 20 6d 69 6e 69 6d 61 6c | 0d 2f 2f 20 63 6f 6e 66 | minimal|.// conf|
|000001d0| 69 67 75 72 61 74 69 6f | 6e 73 20 6f 66 20 43 6f |iguratio|ns of Co|
|000001e0| 64 65 57 61 72 72 69 6f | 72 2c 20 66 6f 72 20 65 |deWarrio|r, for e|
|000001f0| 78 61 6d 70 6c 65 29 0d | 2f 2f 2d 2d 2d 2d 2d 2d |xample).|//------|
|00000200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 76 6f 69 64 20 |--------|--.void |
|00000250| 43 6f 70 79 4d 65 6d 6f | 72 79 28 63 6f 6e 73 74 |CopyMemo|ry(const|
|00000260| 20 76 6f 69 64 20 2a 73 | 72 63 50 74 72 2c 20 76 | void *s|rcPtr, v|
|00000270| 6f 69 64 20 2a 64 65 73 | 74 50 74 72 2c 20 53 49 |oid *des|tPtr, SI|
|00000280| 6e 74 33 32 20 62 79 74 | 65 43 6f 75 6e 74 29 0d |nt32 byt|eCount).|
|00000290| 7b 0d 09 42 6c 6f 63 6b | 4d 6f 76 65 44 61 74 61 |{..Block|MoveData|
|000002a0| 28 73 72 63 50 74 72 2c | 20 64 65 73 74 50 74 72 |(srcPtr,| destPtr|
|000002b0| 2c 20 62 79 74 65 43 6f | 75 6e 74 29 3b 20 2f 2f |, byteCo|unt); //|
|000002c0| 20 6d 65 6d 63 70 79 28 | 64 65 73 74 50 74 72 2c | memcpy(|destPtr,|
|000002d0| 20 73 72 63 50 74 72 2c | 20 62 79 74 65 43 6f 75 | srcPtr,| byteCou|
|000002e0| 6e 74 29 3b 0d 7d 0d 0d | 0d 2f 2f 0d 2f 2f 20 47 |nt);.}..|.//.// G|
|000002f0| 6c 6f 62 61 6c 20 6c 69 | 73 74 20 6f 66 20 63 6f |lobal li|st of co|
|00000300| 6d 70 61 72 65 20 62 65 | 68 61 76 69 6f 72 73 0d |mpare be|haviors.|
|00000310| 2f 2f 0d 54 41 62 73 74 | 72 61 63 74 43 6f 6d 70 |//.TAbst|ractComp|
|00000320| 61 72 65 42 65 68 61 76 | 69 6f 72 2a 20 54 41 62 |areBehav|ior* TAb|
|00000330| 73 74 72 61 63 74 44 61 | 74 61 52 65 66 65 72 65 |stractDa|taRefere|
|00000340| 6e 63 65 3a 3a 66 46 69 | 72 73 74 42 65 68 61 76 |nce::fFi|rstBehav|
|00000350| 69 6f 72 20 3d 20 6e 69 | 6c 3b 0d 0d 2f 2f 3d 3d |ior = ni|l;..//==|
|00000360| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000370| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000380| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000390| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000003a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 2f |========|======./|
|000003b0| 2f 20 43 6c 61 73 73 20 | 54 41 62 73 74 72 61 63 |/ Class |TAbstrac|
|000003c0| 74 43 6f 6d 70 61 72 65 | 42 65 68 61 76 69 6f 72 |tCompare|Behavior|
|000003d0| 0d 2f 2f 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.//=====|========|
|000003e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000003f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000400| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000410| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000420| 3d 3d 3d 0d 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |===..//-|--------|
|00000430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000470| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 41 62 73 74 |-------.|// TAbst|
|00000480| 72 61 63 74 43 6f 6d 70 | 61 72 65 42 65 68 61 76 |ractComp|areBehav|
|00000490| 69 6f 72 3a 3a 54 41 62 | 73 74 72 61 63 74 43 6f |ior::TAb|stractCo|
|000004a0| 6d 70 61 72 65 42 65 68 | 61 76 69 6f 72 0d 2f 2f |mpareBeh|avior.//|
|000004b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000500| 0d 54 41 62 73 74 72 61 | 63 74 43 6f 6d 70 61 72 |.TAbstra|ctCompar|
|00000510| 65 42 65 68 61 76 69 6f | 72 3a 3a 54 41 62 73 74 |eBehavio|r::TAbst|
|00000520| 72 61 63 74 43 6f 6d 70 | 61 72 65 42 65 68 61 76 |ractComp|areBehav|
|00000530| 69 6f 72 28 29 0d 7b 0d | 09 66 4e 65 78 74 42 65 |ior().{.|.fNextBe|
|00000540| 68 61 76 69 6f 72 20 3d | 20 6e 69 6c 3b 0d 7d 0d |havior =| nil;.}.|
|00000550| 09 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|00000560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005a0| 2d 2d 2d 2d 0d 2f 2f 20 | 54 41 62 73 74 72 61 63 |----.// |TAbstrac|
|000005b0| 74 43 6f 6d 70 61 72 65 | 42 65 68 61 76 69 6f 72 |tCompare|Behavior|
|000005c0| 3a 3a 43 6f 6d 70 61 72 | 65 44 79 6e 61 6d 69 63 |::Compar|eDynamic|
|000005d0| 42 65 68 61 76 69 6f 72 | 0d 2f 2f 0d 2f 2f 20 43 |Behavior|.//.// C|
|000005e0| 6f 6d 70 61 72 65 20 62 | 65 68 61 76 69 6f 72 73 |ompare b|ehaviors|
|000005f0| 20 73 68 6f 75 6c 64 20 | 6c 6f 6f 6b 20 66 6f 72 | should |look for|
|00000600| 20 64 61 74 61 20 74 79 | 70 65 73 20 74 68 65 79 | data ty|pes they|
|00000610| 20 63 61 6e 20 63 6f 6d | 70 61 72 65 0d 2f 2f 2d | can com|pare.//-|
|00000620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000660| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00000670| 43 6f 6d 70 61 72 65 45 | 6e 75 6d 65 72 61 74 69 |CompareE|numerati|
|00000680| 6f 6e 20 54 41 62 73 74 | 72 61 63 74 43 6f 6d 70 |on TAbst|ractComp|
|00000690| 61 72 65 42 65 68 61 76 | 69 6f 72 3a 3a 43 6f 6d |areBehav|ior::Com|
|000006a0| 70 61 72 65 44 79 6e 61 | 6d 69 63 42 65 68 61 76 |pareDyna|micBehav|
|000006b0| 69 6f 72 28 63 6f 6e 73 | 74 20 54 41 62 73 74 72 |ior(cons|t TAbstr|
|000006c0| 61 63 74 44 61 74 61 52 | 65 66 65 72 65 6e 63 65 |actDataR|eference|
|000006d0| 26 20 6f 62 6a 65 63 74 | 31 2c 20 63 6f 6e 73 74 |& object|1, const|
|000006e0| 20 54 41 62 73 74 72 61 | 63 74 44 61 74 61 52 65 | TAbstra|ctDataRe|
|000006f0| 66 65 72 65 6e 63 65 26 | 20 6f 62 6a 65 63 74 32 |ference&| object2|
|00000700| 29 20 63 6f 6e 73 74 0d | 7b 0d 09 69 66 28 66 4e |) const.|{..if(fN|
|00000710| 65 78 74 42 65 68 61 76 | 69 6f 72 29 0d 09 09 72 |extBehav|ior)...r|
|00000720| 65 74 75 72 6e 20 66 4e | 65 78 74 42 65 68 61 76 |eturn fN|extBehav|
|00000730| 69 6f 72 2d 3e 43 6f 6d | 70 61 72 65 44 79 6e 61 |ior->Com|pareDyna|
|00000740| 6d 69 63 42 65 68 61 76 | 69 6f 72 28 6f 62 6a 65 |micBehav|ior(obje|
|00000750| 63 74 31 2c 20 6f 62 6a | 65 63 74 32 29 3b 0d 09 |ct1, obj|ect2);..|
|00000760| 65 6c 73 65 0d 09 09 72 | 65 74 75 72 6e 20 54 41 |else...r|eturn TA|
|00000770| 62 73 74 72 61 63 74 44 | 61 74 61 52 65 66 65 72 |bstractD|ataRefer|
|00000780| 65 6e 63 65 3a 3a 43 6f | 6d 70 61 72 65 44 65 66 |ence::Co|mpareDef|
|00000790| 61 75 6c 74 42 65 68 61 | 76 69 6f 72 28 6f 62 6a |aultBeha|vior(obj|
|000007a0| 65 63 74 31 2c 20 6f 62 | 6a 65 63 74 32 29 3b 0d |ect1, ob|ject2);.|
|000007b0| 7d 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}..//---|--------|
|000007c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000800| 2d 2d 2d 2d 2d 0d 2f 2f | 20 54 41 62 73 74 72 61 |-----.//| TAbstra|
|00000810| 63 74 43 6f 6d 70 61 72 | 65 42 65 68 61 76 69 6f |ctCompar|eBehavio|
|00000820| 72 3a 3a 43 6f 6e 74 61 | 69 6e 73 44 79 6e 61 6d |r::Conta|insDynam|
|00000830| 69 63 42 65 68 61 76 69 | 6f 72 0d 2f 2f 2d 2d 2d |icBehavi|or.//---|
|00000840| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000860| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000870| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 42 6f |--------|-----.Bo|
|00000890| 6f 6c 65 61 6e 20 54 41 | 62 73 74 72 61 63 74 43 |olean TA|bstractC|
|000008a0| 6f 6d 70 61 72 65 42 65 | 68 61 76 69 6f 72 3a 3a |ompareBe|havior::|
|000008b0| 43 6f 6e 74 61 69 6e 73 | 44 79 6e 61 6d 69 63 42 |Contains|DynamicB|
|000008c0| 65 68 61 76 69 6f 72 28 | 63 6f 6e 73 74 20 54 41 |ehavior(|const TA|
|000008d0| 62 73 74 72 61 63 74 44 | 61 74 61 52 65 66 65 72 |bstractD|ataRefer|
|000008e0| 65 6e 63 65 26 20 6f 62 | 6a 65 63 74 31 2c 20 63 |ence& ob|ject1, c|
|000008f0| 6f 6e 73 74 20 54 41 62 | 73 74 72 61 63 74 44 61 |onst TAb|stractDa|
|00000900| 74 61 52 65 66 65 72 65 | 6e 63 65 26 20 6f 62 6a |taRefere|nce& obj|
|00000910| 65 63 74 32 29 20 63 6f | 6e 73 74 0d 7b 0d 09 69 |ect2) co|nst.{..i|
|00000920| 66 28 66 4e 65 78 74 42 | 65 68 61 76 69 6f 72 29 |f(fNextB|ehavior)|
|00000930| 0d 09 09 72 65 74 75 72 | 6e 20 66 4e 65 78 74 42 |...retur|n fNextB|
|00000940| 65 68 61 76 69 6f 72 2d | 3e 43 6f 6e 74 61 69 6e |ehavior-|>Contain|
|00000950| 73 44 79 6e 61 6d 69 63 | 42 65 68 61 76 69 6f 72 |sDynamic|Behavior|
|00000960| 28 6f 62 6a 65 63 74 31 | 2c 20 6f 62 6a 65 63 74 |(object1|, object|
|00000970| 32 29 3b 0d 09 65 6c 73 | 65 0d 09 09 72 65 74 75 |2);..els|e...retu|
|00000980| 72 6e 20 54 41 62 73 74 | 72 61 63 74 44 61 74 61 |rn TAbst|ractData|
|00000990| 52 65 66 65 72 65 6e 63 | 65 3a 3a 43 6f 6e 74 61 |Referenc|e::Conta|
|000009a0| 69 6e 73 44 65 66 61 75 | 6c 74 42 65 68 61 76 69 |insDefau|ltBehavi|
|000009b0| 6f 72 28 6f 62 6a 65 63 | 74 31 2c 20 6f 62 6a 65 |or(objec|t1, obje|
|000009c0| 63 74 32 29 3b 0d 7d 0d | 0d 2f 2f 3d 3d 3d 3d 3d |ct2);.}.|.//=====|
|000009d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000009e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000009f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 2f 2f 20 43 |========|===.// C|
|00000a20| 6c 61 73 73 20 54 41 62 | 73 74 72 61 63 74 44 61 |lass TAb|stractDa|
|00000a30| 74 61 52 65 66 65 72 65 | 6e 63 65 0d 2f 2f 3d 3d |taRefere|nce.//==|
|00000a40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0d |========|======..|
|00000a90| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00000aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 54 41 |--------|--.// TA|
|00000af0| 62 73 74 72 61 63 74 44 | 61 74 61 52 65 66 65 72 |bstractD|ataRefer|
|00000b00| 65 6e 63 65 3a 3a 54 41 | 62 73 74 72 61 63 74 44 |ence::TA|bstractD|
|00000b10| 61 74 61 52 65 66 65 72 | 65 6e 63 65 0d 2f 2f 2d |ataRefer|ence.//-|
|00000b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b70| 2d 2d 2d 2d 2d 2d 2d 0d | 54 41 62 73 74 72 61 63 |-------.|TAbstrac|
|00000b80| 74 44 61 74 61 52 65 66 | 65 72 65 6e 63 65 3a 3a |tDataRef|erence::|
|00000b90| 54 41 62 73 74 72 61 63 | 74 44 61 74 61 52 65 66 |TAbstrac|tDataRef|
|00000ba0| 65 72 65 6e 63 65 28 29 | 0d 7b 0d 7d 0d 0d 2f 2f |erence()|.{.}..//|
|00000bb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c00| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 54 41 62 73 |--------|.// TAbs|
|00000c10| 74 72 61 63 74 44 61 74 | 61 52 65 66 65 72 65 6e |tractDat|aReferen|
|00000c20| 63 65 3a 3a 7e 54 41 62 | 73 74 72 61 63 74 44 61 |ce::~TAb|stractDa|
|00000c30| 74 61 52 65 66 65 72 65 | 6e 63 65 0d 2f 2f 2d 2d |taRefere|nce.//--|
|00000c40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c90| 2d 2d 2d 2d 2d 2d 0d 54 | 41 62 73 74 72 61 63 74 |------.T|Abstract|
|00000ca0| 44 61 74 61 52 65 66 65 | 72 65 6e 63 65 3a 3a 7e |DataRefe|rence::~|
|00000cb0| 54 41 62 73 74 72 61 63 | 74 44 61 74 61 52 65 66 |TAbstrac|tDataRef|
|00000cc0| 65 72 65 6e 63 65 28 29 | 0d 7b 0d 7d 0d 0d 2f 2f |erence()|.{.}..//|
|00000cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d20| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 54 41 62 73 |--------|.// TAbs|
|00000d30| 74 72 61 63 74 44 61 74 | 61 52 65 66 65 72 65 6e |tractDat|aReferen|
|00000d40| 63 65 3a 3a 44 69 72 65 | 63 74 6c 79 52 65 61 64 |ce::Dire|ctlyRead|
|00000d50| 61 62 6c 65 3a 20 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |able: ./|/-------|
|00000d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000da0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000db0| 2d 0d 42 6f 6f 6c 65 61 | 6e 20 54 41 62 73 74 72 |-.Boolea|n TAbstr|
|00000dc0| 61 63 74 44 61 74 61 52 | 65 66 65 72 65 6e 63 65 |actDataR|eference|
|00000dd0| 3a 3a 44 69 72 65 63 74 | 6c 79 52 65 61 64 61 62 |::Direct|lyReadab|
|00000de0| 6c 65 28 29 20 63 6f 6e | 73 74 0d 7b 0d 09 72 65 |le() con|st.{..re|
|00000df0| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 7d 20 2f 2f |turn fal|se;.} //|
|00000e00| 20 54 41 62 73 74 72 61 | 63 74 44 61 74 61 52 65 | TAbstra|ctDataRe|
|00000e10| 66 65 72 65 6e 63 65 3a | 3a 44 69 72 65 63 74 6c |ference:|:Directl|
|00000e20| 79 52 65 61 64 61 62 6c | 65 20 0d 09 0d 2f 2f 2d |yReadabl|e ...//-|
|00000e30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e80| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 41 62 73 74 |-------.|// TAbst|
|00000e90| 72 61 63 74 44 61 74 61 | 52 65 66 65 72 65 6e 63 |ractData|Referenc|
|00000ea0| 65 3a 3a 57 72 69 74 61 | 62 6c 65 3a 20 0d 2f 2f |e::Writa|ble: .//|
|00000eb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f00| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 42 6f 6f 6c 65 61 6e |--------|.Boolean|
|00000f10| 20 54 41 62 73 74 72 61 | 63 74 44 61 74 61 52 65 | TAbstra|ctDataRe|
|00000f20| 66 65 72 65 6e 63 65 3a | 3a 57 72 69 74 61 62 6c |ference:|:Writabl|
|00000f30| 65 28 29 20 63 6f 6e 73 | 74 0d 7b 0d 09 72 65 74 |e() cons|t.{..ret|
|00000f40| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 7d 20 2f 2f 20 |urn fals|e;.} // |
|00000f50| 54 41 62 73 74 72 61 63 | 74 44 61 74 61 52 65 66 |TAbstrac|tDataRef|
|00000f60| 65 72 65 6e 63 65 3a 3a | 57 72 69 74 61 62 6c 65 |erence::|Writable|
|00000f70| 20 0d 09 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | ...//--|--------|
|00000f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00000fd0| 2f 20 54 41 62 73 74 72 | 61 63 74 44 61 74 61 52 |/ TAbstr|actDataR|
|00000fe0| 65 66 65 72 65 6e 63 65 | 3a 3a 44 69 72 65 63 74 |eference|::Direct|
|00000ff0| 6c 79 57 72 69 74 61 62 | 6c 65 3a 20 0d 2f 2f 2d |lyWritab|le: .//-|
|00001000| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001040| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001050| 2d 2d 2d 2d 2d 2d 2d 0d | 42 6f 6f 6c 65 61 6e 20 |-------.|Boolean |
|00001060| 54 41 62 73 74 72 61 63 | 74 44 61 74 61 52 65 66 |TAbstrac|tDataRef|
|00001070| 65 72 65 6e 63 65 3a 3a | 44 69 72 65 63 74 6c 79 |erence::|Directly|
|00001080| 57 72 69 74 61 62 6c 65 | 28 29 20 63 6f 6e 73 74 |Writable|() const|
|00001090| 0d 7b 0d 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |.{..retu|rn false|
|000010a0| 3b 0d 7d 20 2f 2f 20 54 | 41 62 73 74 72 61 63 74 |;.} // T|Abstract|
|000010b0| 44 61 74 61 52 65 66 65 | 72 65 6e 63 65 3a 3a 44 |DataRefe|rence::D|
|000010c0| 69 72 65 63 74 6c 79 57 | 72 69 74 61 62 6c 65 20 |irectlyW|ritable |
|000010d0| 0d 09 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |...//---|--------|
|000010e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000010f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2f 2f |--------|-----.//|
|00001130| 20 54 41 62 73 74 72 61 | 63 74 44 61 74 61 52 65 | TAbstra|ctDataRe|
|00001140| 66 65 72 65 6e 63 65 3a | 3a 52 65 73 69 7a 61 62 |ference:|:Resizab|
|00001150| 6c 65 3a 20 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |le: .//-|--------|
|00001160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|000011b0| 42 6f 6f 6c 65 61 6e 20 | 54 41 62 73 74 72 61 63 |Boolean |TAbstrac|
|000011c0| 74 44 61 74 61 52 65 66 | 65 72 65 6e 63 65 3a 3a |tDataRef|erence::|
|000011d0| 52 65 73 69 7a 61 62 6c | 65 28 29 20 63 6f 6e 73 |Resizabl|e() cons|
|000011e0| 74 0d 7b 0d 09 72 65 74 | 75 72 6e 20 66 61 6c 73 |t.{..ret|urn fals|
|000011f0| 65 3b 0d 7d 20 2f 2f 20 | 54 41 62 73 74 72 61 63 |e;.} // |TAbstrac|
|00001200| 74 44 61 74 61 52 65 66 | 65 72 65 6e 63 65 3a 3a |tDataRef|erence::|
|00001210| 52 65 73 69 7a 61 62 6c | 65 20 0d 0d 2f 2f 2d 2d |Resizabl|e ..//--|
|00001220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001270| 2d 2d 2d 2d 2d 2d 0d 2f | 2f 20 54 41 62 73 74 72 |------./|/ TAbstr|
|00001280| 61 63 74 44 61 74 61 52 | 65 66 65 72 65 6e 63 65 |actDataR|eference|
|00001290| 3a 3a 4d 61 78 4c 65 6e | 67 74 68 3a 20 0d 2f 2f |::MaxLen|gth: .//|
|000012a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012f0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 53 49 6e 74 33 32 20 |--------|.SInt32 |
|00001300| 54 41 62 73 74 72 61 63 | 74 44 61 74 61 52 65 66 |TAbstrac|tDataRef|
|00001310| 65 72 65 6e 63 65 3a 3a | 4d 61 78 4c 65 6e 67 74 |erence::|MaxLengt|
|00001320| 68 28 29 20 63 6f 6e 73 | 74 0d 7b 0d 09 72 65 74 |h() cons|t.{..ret|
|00001330| 75 72 6e 20 74 68 69 73 | 2d 3e 44 61 74 61 4c 65 |urn this|->DataLe|
|00001340| 6e 67 74 68 28 29 3b 0d | 7d 20 2f 2f 20 54 41 62 |ngth();.|} // TAb|
|00001350| 73 74 72 61 63 74 44 61 | 74 61 52 65 66 65 72 65 |stractDa|taRefere|
|00001360| 6e 63 65 3a 3a 4d 61 78 | 4c 65 6e 67 74 68 20 0d |nce::Max|Length .|
|00001370| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00001380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 54 |--------|---.// T|
|000013d0| 41 62 73 74 72 61 63 74 | 44 61 74 61 52 65 66 65 |Abstract|DataRefe|
|000013e0| 72 65 6e 63 65 3a 3a 43 | 6f 70 79 54 6f 3a 20 0d |rence::C|opyTo: .|
|000013f0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00001400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001420| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 53 49 6e 74 33 |--------|--.SInt3|
|00001450| 32 20 54 41 62 73 74 72 | 61 63 74 44 61 74 61 52 |2 TAbstr|actDataR|
|00001460| 65 66 65 72 65 6e 63 65 | 3a 3a 43 6f 70 79 54 6f |eference|::CopyTo|
|00001470| 28 63 68 61 72 2a 2c 20 | 53 49 6e 74 33 32 29 20 |(char*, |SInt32) |
|00001480| 63 6f 6e 73 74 0d 7b 0d | 09 72 65 74 75 72 6e 20 |const.{.|.return |
|00001490| 30 3b 0d 7d 20 2f 2f 20 | 54 41 62 73 74 72 61 63 |0;.} // |TAbstrac|
|000014a0| 74 44 61 74 61 52 65 66 | 65 72 65 6e 63 65 3a 3a |tDataRef|erence::|
|000014b0| 43 6f 70 79 54 6f 20 0d | 0d 2f 2f 2d 2d 2d 2d 2d |CopyTo .|.//-----|
|000014c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001510| 2d 2d 2d 0d 2f 2f 20 54 | 41 62 73 74 72 61 63 74 |---.// T|Abstract|
|00001520| 44 61 74 61 52 65 66 65 | 72 65 6e 63 65 3a 3a 53 |DataRefe|rence::S|
|00001530| 65 74 44 61 74 61 54 79 | 70 65 3a 20 0d 2f 2f 2d |etDataTy|pe: .//-|
|00001540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001590| 2d 2d 2d 2d 2d 2d 2d 0d | 42 6f 6f 6c 65 61 6e 20 |-------.|Boolean |
|000015a0| 54 41 62 73 74 72 61 63 | 74 44 61 74 61 52 65 66 |TAbstrac|tDataRef|
|000015b0| 65 72 65 6e 63 65 3a 3a | 53 65 74 44 61 74 61 54 |erence::|SetDataT|
|000015c0| 79 70 65 28 53 49 6e 74 | 33 32 29 0d 7b 0d 09 72 |ype(SInt|32).{..r|
|000015d0| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 7d 20 2f |eturn fa|lse;.} /|
|000015e0| 2f 20 54 41 62 73 74 72 | 61 63 74 44 61 74 61 52 |/ TAbstr|actDataR|
|000015f0| 65 66 65 72 65 6e 63 65 | 3a 3a 53 65 74 44 61 74 |eference|::SetDat|
|00001600| 61 54 79 70 65 20 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |aType ..|//------|
|00001610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001660| 2d 2d 0d 2f 2f 20 54 41 | 62 73 74 72 61 63 74 44 |--.// TA|bstractD|
|00001670| 61 74 61 52 65 66 65 72 | 65 6e 63 65 3a 3a 53 65 |ataRefer|ence::Se|
|00001680| 74 44 61 74 61 4c 65 6e | 67 74 68 3a 20 0d 2f 2f |tDataLen|gth: .//|
|00001690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016e0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 53 49 6e 74 33 32 20 |--------|.SInt32 |
|000016f0| 54 41 62 73 74 72 61 63 | 74 44 61 74 61 52 65 66 |TAbstrac|tDataRef|
|00001700| 65 72 65 6e 63 65 3a 3a | 53 65 74 44 61 74 61 4c |erence::|SetDataL|
|00001710| 65 6e 67 74 68 28 53 49 | 6e 74 33 32 29 0d 7b 0d |ength(SI|nt32).{.|
|00001720| 09 72 65 74 75 72 6e 20 | 74 68 69 73 2d 3e 44 61 |.return |this->Da|
|00001730| 74 61 4c 65 6e 67 74 68 | 28 29 3b 0d 7d 20 2f 2f |taLength|();.} //|
|00001740| 20 54 41 62 73 74 72 61 | 63 74 44 61 74 61 52 65 | TAbstra|ctDataRe|
|00001750| 66 65 72 65 6e 63 65 3a | 3a 53 65 74 44 61 74 61 |ference:|:SetData|
|00001760| 4c 65 6e 67 74 68 20 0d | 0d 2f 2f 2d 2d 2d 2d 2d |Length .|.//-----|
|00001770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017c0| 2d 2d 2d 0d 2f 2f 20 54 | 41 62 73 74 72 61 63 74 |---.// T|Abstract|
|000017d0| 44 61 74 61 52 65 66 65 | 72 65 6e 63 65 3a 3a 43 |DataRefe|rence::C|
|000017e0| 6f 70 79 46 72 6f 6d 3a | 20 0d 2f 2f 2d 2d 2d 2d |opyFrom:| .//----|
|000017f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001840| 2d 2d 2d 2d 0d 42 6f 6f | 6c 65 61 6e 20 54 41 62 |----.Boo|lean TAb|
|00001850| 73 74 72 61 63 74 44 61 | 74 61 52 65 66 65 72 65 |stractDa|taRefere|
|00001860| 6e 63 65 3a 3a 43 6f 70 | 79 46 72 6f 6d 28 63 6f |nce::Cop|yFrom(co|
|00001870| 6e 73 74 20 54 41 62 73 | 74 72 61 63 74 44 61 74 |nst TAbs|tractDat|
|00001880| 61 52 65 66 65 72 65 6e | 63 65 26 2c 20 42 6f 6f |aReferen|ce&, Boo|
|00001890| 6c 65 61 6e 29 0d 7b 0d | 09 72 65 74 75 72 6e 20 |lean).{.|.return |
|000018a0| 66 61 6c 73 65 3b 0d 7d | 20 2f 2f 20 54 41 62 73 |false;.}| // TAbs|
|000018b0| 74 72 61 63 74 44 61 74 | 61 52 65 66 65 72 65 6e |tractDat|aReferen|
|000018c0| 63 65 3a 3a 43 6f 70 79 | 46 72 6f 6d 20 0d 09 0d |ce::Copy|From ...|
|000018d0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|000018e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 54 41 |--------|--.// TA|
|00001930| 62 73 74 72 61 63 74 44 | 61 74 61 52 65 66 65 72 |bstractD|ataRefer|
|00001940| 65 6e 63 65 3a 3a 52 65 | 73 69 7a 65 3a 20 0d 2f |ence::Re|size: ./|
|00001950| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00001960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 42 6f 6f 6c 65 61 |--------|-.Boolea|
|000019b0| 6e 20 54 41 62 73 74 72 | 61 63 74 44 61 74 61 52 |n TAbstr|actDataR|
|000019c0| 65 66 65 72 65 6e 63 65 | 3a 3a 52 65 73 69 7a 65 |eference|::Resize|
|000019d0| 28 53 49 6e 74 33 32 29 | 0d 7b 0d 09 72 65 74 75 |(SInt32)|.{..retu|
|000019e0| 72 6e 20 66 61 6c 73 65 | 3b 0d 7d 20 2f 2f 20 54 |rn false|;.} // T|
|000019f0| 41 62 73 74 72 61 63 74 | 44 61 74 61 52 65 66 65 |Abstract|DataRefe|
|00001a00| 72 65 6e 63 65 3a 3a 52 | 65 73 69 7a 65 20 0d 09 |rence::R|esize ..|
|00001a10| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00001a20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 54 |--------|---.// T|
|00001a70| 41 62 73 74 72 61 63 74 | 44 61 74 61 52 65 66 65 |Abstract|DataRefe|
|00001a80| 72 65 6e 63 65 3a 3a 44 | 61 74 61 3a 20 0d 2f 2f |rence::D|ata: .//|
|00001a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 63 6f 6e 73 74 20 63 |--------|.const c|
|00001af0| 68 61 72 2a 20 54 41 62 | 73 74 72 61 63 74 44 61 |har* TAb|stractDa|
|00001b00| 74 61 52 65 66 65 72 65 | 6e 63 65 3a 3a 44 61 74 |taRefere|nce::Dat|
|00001b10| 61 28 29 20 63 6f 6e 73 | 74 0d 7b 0d 09 72 65 74 |a() cons|t.{..ret|
|00001b20| 75 72 6e 20 6e 69 6c 3b | 0d 7d 20 2f 2f 20 54 41 |urn nil;|.} // TA|
|00001b30| 62 73 74 72 61 63 74 44 | 61 74 61 52 65 66 65 72 |bstractD|ataRefer|
|00001b40| 65 6e 63 65 3a 3a 44 61 | 74 61 20 0d 0d 2f 2f 2d |ence::Da|ta ..//-|
|00001b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ba0| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 41 62 73 74 |-------.|// TAbst|
|00001bb0| 72 61 63 74 44 61 74 61 | 52 65 66 65 72 65 6e 63 |ractData|Referenc|
|00001bc0| 65 3a 3a 44 61 74 61 3a | 20 0d 2f 2f 2d 2d 2d 2d |e::Data:| .//----|
|00001bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001bf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c20| 2d 2d 2d 2d 0d 63 68 61 | 72 2a 20 54 41 62 73 74 |----.cha|r* TAbst|
|00001c30| 72 61 63 74 44 61 74 61 | 52 65 66 65 72 65 6e 63 |ractData|Referenc|
|00001c40| 65 3a 3a 44 61 74 61 28 | 29 0d 7b 0d 09 72 65 74 |e::Data(|).{..ret|
|00001c50| 75 72 6e 20 6e 69 6c 3b | 0d 7d 20 2f 2f 20 54 41 |urn nil;|.} // TA|
|00001c60| 62 73 74 72 61 63 74 44 | 61 74 61 52 65 66 65 72 |bstractD|ataRefer|
|00001c70| 65 6e 63 65 3a 3a 44 61 | 74 61 20 0d 0d 2f 2f 2d |ence::Da|ta ..//-|
|00001c80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00001cd0| 2f 2f 20 54 41 62 73 74 | 72 61 63 74 44 61 74 61 |// TAbst|ractData|
|00001ce0| 52 65 66 65 72 65 6e 63 | 65 3a 3a 43 6f 6d 70 61 |Referenc|e::Compa|
|00001cf0| 72 65 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |re.//---|--------|
|00001d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d40| 2d 2d 2d 2d 2d 0d 43 6f | 6d 70 61 72 65 45 6e 75 |-----.Co|mpareEnu|
|00001d50| 6d 65 72 61 74 69 6f 6e | 20 54 41 62 73 74 72 61 |meration| TAbstra|
|00001d60| 63 74 44 61 74 61 52 65 | 66 65 72 65 6e 63 65 3a |ctDataRe|ference:|
|00001d70| 3a 43 6f 6d 70 61 72 65 | 28 63 6f 6e 73 74 20 54 |:Compare|(const T|
|00001d80| 41 62 73 74 72 61 63 74 | 44 61 74 61 52 65 66 65 |Abstract|DataRefe|
|00001d90| 72 65 6e 63 65 26 20 6f | 62 6a 65 63 74 32 29 20 |rence& o|bject2) |
|00001da0| 63 6f 6e 73 74 0d 7b 0d | 09 2f 2f 0d 09 2f 2f 20 |const.{.|.//..// |
|00001db0| d7 69 66 20 77 65 27 72 | 65 20 67 69 76 65 6e 20 |.if we'r|e given |
|00001dc0| 72 65 66 65 72 65 6e 63 | 65 73 20 74 68 61 74 20 |referenc|es that |
|00001dd0| 77 65 20 63 61 6e 27 74 | 20 72 65 61 64 20 64 69 |we can't| read di|
|00001de0| 72 65 63 74 6c 79 2c 0d | 09 2f 2f 20 74 68 65 6e |rectly,.|.// then|
|00001df0| 20 77 65 20 73 68 6f 75 | 6c 64 20 63 6f 70 79 20 | we shou|ld copy |
|00001e00| 74 68 65 20 64 61 74 61 | 20 73 6f 6d 65 77 68 65 |the data| somewhe|
|00001e10| 72 65 20 65 6c 73 65 20 | 61 6e 64 20 63 6f 6d 70 |re else |and comp|
|00001e20| 61 72 65 0d 09 2f 2f 20 | 61 67 61 69 6e 73 74 20 |are..// |against |
|00001e30| 74 68 61 74 2e 0d 09 2f | 2f 0d 09 69 66 28 74 68 |that.../|/..if(th|
|00001e40| 69 73 2d 3e 44 69 72 65 | 63 74 6c 79 52 65 61 64 |is->Dire|ctlyRead|
|00001e50| 61 62 6c 65 28 29 20 26 | 26 20 6f 62 6a 65 63 74 |able() &|& object|
|00001e60| 32 2e 44 69 72 65 63 74 | 6c 79 52 65 61 64 61 62 |2.Direct|lyReadab|
|00001e70| 6c 65 28 29 29 0d 09 09 | 72 65 74 75 72 6e 20 54 |le())...|return T|
|00001e80| 41 62 73 74 72 61 63 74 | 44 61 74 61 52 65 66 65 |Abstract|DataRefe|
|00001e90| 72 65 6e 63 65 3a 3a 43 | 6f 6d 70 61 72 65 28 2a |rence::C|ompare(*|
|00001ea0| 74 68 69 73 2c 20 6f 62 | 6a 65 63 74 32 29 3b 0d |this, ob|ject2);.|
|00001eb0| 09 65 6c 73 65 0d 09 09 | 72 65 74 75 72 6e 20 6b |.else...|return k|
|00001ec0| 43 61 6e 74 43 6f 6d 70 | 61 72 65 3b 0d 7d 0d 0d |CantComp|are;.}..|
|00001ed0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00001ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f20| 2d 2d 0d 2f 2f 20 54 41 | 62 73 74 72 61 63 74 44 |--.// TA|bstractD|
|00001f30| 61 74 61 52 65 66 65 72 | 65 6e 63 65 3a 3a 43 6f |ataRefer|ence::Co|
|00001f40| 6e 74 61 69 6e 73 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |ntains./|/-------|
|00001f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 42 6f 6f 6c 65 61 |--------|-.Boolea|
|00001fa0| 6e 20 54 41 62 73 74 72 | 61 63 74 44 61 74 61 52 |n TAbstr|actDataR|
|00001fb0| 65 66 65 72 65 6e 63 65 | 3a 3a 43 6f 6e 74 61 69 |eference|::Contai|
|00001fc0| 6e 73 28 63 6f 6e 73 74 | 20 54 41 62 73 74 72 61 |ns(const| TAbstra|
|00001fd0| 63 74 44 61 74 61 52 65 | 66 65 72 65 6e 63 65 26 |ctDataRe|ference&|
|00001fe0| 20 6f 62 6a 65 63 74 32 | 29 20 63 6f 6e 73 74 0d | object2|) const.|
|00001ff0| 7b 0d 09 69 66 28 28 74 | 68 69 73 2d 3e 44 69 72 |{..if((t|his->Dir|
|00002000| 65 63 74 6c 79 52 65 61 | 64 61 62 6c 65 28 29 20 |ectlyRea|dable() |
|00002010| 3d 3d 20 66 61 6c 73 65 | 29 20 7c 7c 20 28 6f 62 |== false|) || (ob|
|00002020| 6a 65 63 74 32 2e 44 69 | 72 65 63 74 6c 79 52 65 |ject2.Di|rectlyRe|
|00002030| 61 64 61 62 6c 65 28 29 | 20 3d 3d 20 66 61 6c 73 |adable()| == fals|
|00002040| 65 29 29 0d 09 09 72 65 | 74 75 72 6e 20 66 61 6c |e))...re|turn fal|
|00002050| 73 65 3b 0d 09 65 6c 73 | 65 20 69 66 28 66 46 69 |se;..els|e if(fFi|
|00002060| 72 73 74 42 65 68 61 76 | 69 6f 72 29 0d 09 09 72 |rstBehav|ior)...r|
|00002070| 65 74 75 72 6e 20 66 46 | 69 72 73 74 42 65 68 61 |eturn fF|irstBeha|
|00002080| 76 69 6f 72 2d 3e 43 6f | 6e 74 61 69 6e 73 44 79 |vior->Co|ntainsDy|
|00002090| 6e 61 6d 69 63 42 65 68 | 61 76 69 6f 72 28 2a 74 |namicBeh|avior(*t|
|000020a0| 68 69 73 2c 20 6f 62 6a | 65 63 74 32 29 3b 0d 09 |his, obj|ect2);..|
|000020b0| 65 6c 73 65 0d 09 09 72 | 65 74 75 72 6e 20 54 41 |else...r|eturn TA|
|000020c0| 62 73 74 72 61 63 74 44 | 61 74 61 52 65 66 65 72 |bstractD|ataRefer|
|000020d0| 65 6e 63 65 3a 3a 43 6f | 6e 74 61 69 6e 73 44 65 |ence::Co|ntainsDe|
|000020e0| 66 61 75 6c 74 42 65 68 | 61 76 69 6f 72 28 2a 74 |faultBeh|avior(*t|
|000020f0| 68 69 73 2c 20 6f 62 6a | 65 63 74 32 29 3b 0d 7d |his, obj|ect2);.}|
|00002100| 0d 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|00002110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002150| 2d 2d 2d 2d 0d 2f 2f 20 | 54 41 62 73 74 72 61 63 |----.// |TAbstrac|
|00002160| 74 44 61 74 61 52 65 66 | 65 72 65 6e 63 65 3a 3a |tDataRef|erence::|
|00002170| 41 64 64 43 6f 6d 70 61 | 72 65 42 65 68 61 76 6f |AddCompa|reBehavo|
|00002180| 69 72 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ir.//---|--------|
|00002190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021d0| 2d 2d 2d 2d 2d 0d 76 6f | 69 64 20 54 41 62 73 74 |-----.vo|id TAbst|
|000021e0| 72 61 63 74 44 61 74 61 | 52 65 66 65 72 65 6e 63 |ractData|Referenc|
|000021f0| 65 3a 3a 41 64 64 43 6f | 6d 70 61 72 65 42 65 68 |e::AddCo|mpareBeh|
|00002200| 61 76 6f 69 72 28 54 41 | 62 73 74 72 61 63 74 43 |avoir(TA|bstractC|
|00002210| 6f 6d 70 61 72 65 42 65 | 68 61 76 69 6f 72 2a 20 |ompareBe|havior* |
|00002220| 62 65 68 61 76 69 6f 72 | 29 0d 7b 0d 09 69 66 28 |behavior|).{..if(|
|00002230| 66 46 69 72 73 74 42 65 | 68 61 76 69 6f 72 20 21 |fFirstBe|havior !|
|00002240| 3d 20 6e 69 6c 29 0d 09 | 09 62 65 68 61 76 69 6f |= nil)..|.behavio|
|00002250| 72 2d 3e 53 65 74 4e 65 | 78 74 42 65 68 61 76 69 |r->SetNe|xtBehavi|
|00002260| 6f 72 28 66 46 69 72 73 | 74 42 65 68 61 76 69 6f |or(fFirs|tBehavio|
|00002270| 72 29 3b 0d 09 0d 09 66 | 46 69 72 73 74 42 65 68 |r);....f|FirstBeh|
|00002280| 61 76 69 6f 72 20 3d 20 | 62 65 68 61 76 69 6f 72 |avior = |behavior|
|00002290| 3b 0d 7d 20 2f 2f 20 54 | 41 62 73 74 72 61 63 74 |;.} // T|Abstract|
|000022a0| 44 61 74 61 52 65 66 65 | 72 65 6e 63 65 3a 3a 41 |DataRefe|rence::A|
|000022b0| 64 64 43 6f 6d 70 61 72 | 65 42 65 68 61 76 6f 69 |ddCompar|eBehavoi|
|000022c0| 72 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |r..//---|--------|
|000022d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000022e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000022f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002310| 2d 2d 2d 2d 2d 0d 2f 2f | 20 54 41 62 73 74 72 61 |-----.//| TAbstra|
|00002320| 63 74 44 61 74 61 52 65 | 66 65 72 65 6e 63 65 3a |ctDataRe|ference:|
|00002330| 3a 43 6f 6d 70 61 72 65 | 0d 2f 2f 2d 2d 2d 2d 2d |:Compare|.//-----|
|00002340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 43 6f 6d 70 |--------|---.Comp|
|00002390| 61 72 65 45 6e 75 6d 65 | 72 61 74 69 6f 6e 20 54 |areEnume|ration T|
|000023a0| 41 62 73 74 72 61 63 74 | 44 61 74 61 52 65 66 65 |Abstract|DataRefe|
|000023b0| 72 65 6e 63 65 3a 3a 43 | 6f 6d 70 61 72 65 28 63 |rence::C|ompare(c|
|000023c0| 6f 6e 73 74 20 54 41 62 | 73 74 72 61 63 74 44 61 |onst TAb|stractDa|
|000023d0| 74 61 52 65 66 65 72 65 | 6e 63 65 26 20 6f 62 6a |taRefere|nce& obj|
|000023e0| 65 63 74 31 2c 20 63 6f | 6e 73 74 20 54 41 62 73 |ect1, co|nst TAbs|
|000023f0| 74 72 61 63 74 44 61 74 | 61 52 65 66 65 72 65 6e |tractDat|aReferen|
|00002400| 63 65 26 20 6f 62 6a 65 | 63 74 32 29 0d 7b 0d 09 |ce& obje|ct2).{..|
|00002410| 69 66 28 66 46 69 72 73 | 74 42 65 68 61 76 69 6f |if(fFirs|tBehavio|
|00002420| 72 29 0d 09 09 72 65 74 | 75 72 6e 20 66 46 69 72 |r)...ret|urn fFir|
|00002430| 73 74 42 65 68 61 76 69 | 6f 72 2d 3e 43 6f 6d 70 |stBehavi|or->Comp|
|00002440| 61 72 65 44 79 6e 61 6d | 69 63 42 65 68 61 76 69 |areDynam|icBehavi|
|00002450| 6f 72 28 6f 62 6a 65 63 | 74 31 2c 20 6f 62 6a 65 |or(objec|t1, obje|
|00002460| 63 74 32 29 3b 0d 09 65 | 6c 73 65 0d 09 09 72 65 |ct2);..e|lse...re|
|00002470| 74 75 72 6e 20 54 41 62 | 73 74 72 61 63 74 44 61 |turn TAb|stractDa|
|00002480| 74 61 52 65 66 65 72 65 | 6e 63 65 3a 3a 43 6f 6d |taRefere|nce::Com|
|00002490| 70 61 72 65 44 65 66 61 | 75 6c 74 42 65 68 61 76 |pareDefa|ultBehav|
|000024a0| 69 6f 72 28 6f 62 6a 65 | 63 74 31 2c 20 6f 62 6a |ior(obje|ct1, obj|
|000024b0| 65 63 74 32 29 3b 0d 7d | 0d 0d 2f 2f 2d 2d 2d 2d |ect2);.}|..//----|
|000024c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|00002510| 54 41 62 73 74 72 61 63 | 74 44 61 74 61 52 65 66 |TAbstrac|tDataRef|
|00002520| 65 72 65 6e 63 65 3a 3a | 43 6f 6d 70 61 72 65 44 |erence::|CompareD|
|00002530| 65 66 61 75 6c 74 42 65 | 68 61 76 69 6f 72 0d 2f |efaultBe|havior./|
|00002540| 2f 0d 2f 2f 20 49 66 20 | 6e 6f 6e 65 20 6f 66 20 |/.// If |none of |
|00002550| 74 68 65 20 63 6f 6d 70 | 61 72 65 20 62 65 68 61 |the comp|are beha|
|00002560| 76 69 6f 72 73 20 6b 6e | 6f 77 20 68 6f 77 20 74 |viors kn|ow how t|
|00002570| 6f 20 64 6f 20 74 68 65 | 20 64 61 74 61 20 63 6f |o do the| data co|
|00002580| 6d 70 61 72 69 73 6f 6e | 2c 20 74 68 65 6e 0d 2f |mparison|, then./|
|00002590| 2f 20 61 73 73 75 6d 65 | 20 61 20 73 69 6d 70 6c |/ assume| a simpl|
|000025a0| 65 20 62 79 74 65 2d 73 | 74 72 65 61 6d 20 63 6f |e byte-s|tream co|
|000025b0| 6d 70 61 72 65 20 69 73 | 20 67 6f 6f 64 20 65 6e |mpare is| good en|
|000025c0| 6f 75 67 68 20 28 77 6f | 72 6b 73 20 66 6f 72 20 |ough (wo|rks for |
|000025d0| 43 20 53 74 72 69 6e 67 | 73 29 0d 2f 2f 2d 2d 2d |C String|s).//---|
|000025e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 43 6f |--------|-----.Co|
|00002630| 6d 70 61 72 65 45 6e 75 | 6d 65 72 61 74 69 6f 6e |mpareEnu|meration|
|00002640| 20 54 41 62 73 74 72 61 | 63 74 44 61 74 61 52 65 | TAbstra|ctDataRe|
|00002650| 66 65 72 65 6e 63 65 3a | 3a 43 6f 6d 70 61 72 65 |ference:|:Compare|
|00002660| 44 65 66 61 75 6c 74 42 | 65 68 61 76 69 6f 72 28 |DefaultB|ehavior(|
|00002670| 63 6f 6e 73 74 20 54 41 | 62 73 74 72 61 63 74 44 |const TA|bstractD|
|00002680| 61 74 61 52 65 66 65 72 | 65 6e 63 65 26 20 6f 62 |ataRefer|ence& ob|
|00002690| 6a 65 63 74 31 2c 20 63 | 6f 6e 73 74 20 54 41 62 |ject1, c|onst TAb|
|000026a0| 73 74 72 61 63 74 44 61 | 74 61 52 65 66 65 72 65 |stractDa|taRefere|
|000026b0| 6e 63 65 26 20 6f 62 6a | 65 63 74 32 29 0d 7b 0d |nce& obj|ect2).{.|
|000026c0| 09 63 6f 6e 73 74 20 63 | 68 61 72 2a 20 6f 62 6a |.const c|har* obj|
|000026d0| 65 63 74 31 44 61 74 61 | 20 3d 20 6f 62 6a 65 63 |ect1Data| = objec|
|000026e0| 74 31 2e 44 61 74 61 28 | 29 3b 0d 09 63 6f 6e 73 |t1.Data(|);..cons|
|000026f0| 74 20 63 68 61 72 2a 20 | 6f 62 6a 65 63 74 32 44 |t char* |object2D|
|00002700| 61 74 61 20 3d 20 6f 62 | 6a 65 63 74 32 2e 44 61 |ata = ob|ject2.Da|
|00002710| 74 61 28 29 3b 0d 09 53 | 49 6e 74 33 32 20 6f 62 |ta();..S|Int32 ob|
|00002720| 6a 65 63 74 31 4c 65 6e | 67 74 68 20 3d 20 6f 62 |ject1Len|gth = ob|
|00002730| 6a 65 63 74 31 2e 44 61 | 74 61 4c 65 6e 67 74 68 |ject1.Da|taLength|
|00002740| 28 29 3b 0d 09 53 49 6e | 74 33 32 20 6f 62 6a 65 |();..SIn|t32 obje|
|00002750| 63 74 32 4c 65 6e 67 74 | 68 20 3d 20 6f 62 6a 65 |ct2Lengt|h = obje|
|00002760| 63 74 32 2e 44 61 74 61 | 4c 65 6e 67 74 68 28 29 |ct2.Data|Length()|
|00002770| 3b 0d 09 53 49 6e 74 33 | 32 20 62 79 74 65 73 54 |;..SInt3|2 bytesT|
|00002780| 6f 43 6f 6d 70 61 72 65 | 20 3d 20 6f 62 6a 65 63 |oCompare| = objec|
|00002790| 74 31 4c 65 6e 67 74 68 | 20 3e 20 6f 62 6a 65 63 |t1Length| > objec|
|000027a0| 74 32 4c 65 6e 67 74 68 | 20 3f 20 6f 62 6a 65 63 |t2Length| ? objec|
|000027b0| 74 32 4c 65 6e 67 74 68 | 20 3a 20 6f 62 6a 65 63 |t2Length| : objec|
|000027c0| 74 31 4c 65 6e 67 74 68 | 3b 0d 09 0d 09 2f 2f 0d |t1Length|;....//.|
|000027d0| 09 2f 2f 20 53 63 61 6e | 20 74 68 72 6f 75 67 68 |.// Scan| through|
|000027e0| 20 74 68 65 20 66 69 72 | 73 74 20 4e 20 62 79 74 | the fir|st N byt|
|000027f0| 65 73 3b 20 73 74 6f 70 | 20 63 6f 6d 70 61 72 69 |es; stop| compari|
|00002800| 6e 67 0d 09 2f 2f 20 61 | 73 20 73 6f 6f 6e 20 61 |ng..// a|s soon a|
|00002810| 73 20 61 6e 20 75 6e 65 | 71 75 61 6c 20 73 65 63 |s an une|qual sec|
|00002820| 74 69 6f 6e 20 69 73 20 | 66 6f 75 6e 64 0d 09 2f |tion is |found../|
|00002830| 2f 0d 09 77 68 69 6c 65 | 28 62 79 74 65 73 54 6f |/..while|(bytesTo|
|00002840| 43 6f 6d 70 61 72 65 29 | 0d 09 09 7b 0d 09 09 69 |Compare)|...{...i|
|00002850| 66 28 2a 6f 62 6a 65 63 | 74 32 44 61 74 61 20 3c |f(*objec|t2Data <|
|00002860| 20 2a 6f 62 6a 65 63 74 | 31 44 61 74 61 29 0d 09 | *object|1Data)..|
|00002870| 09 09 72 65 74 75 72 6e | 20 6b 53 65 63 6f 6e 64 |..return| kSecond|
|00002880| 4f 62 6a 65 63 74 43 6f | 6d 65 73 42 65 66 6f 72 |ObjectCo|mesBefor|
|00002890| 65 3b 0d 09 09 69 66 28 | 2a 6f 62 6a 65 63 74 32 |e;...if(|*object2|
|000028a0| 44 61 74 61 20 3e 20 2a | 6f 62 6a 65 63 74 31 44 |Data > *|object1D|
|000028b0| 61 74 61 29 0d 09 09 09 | 72 65 74 75 72 6e 20 6b |ata)....|return k|
|000028c0| 53 65 63 6f 6e 64 4f 62 | 6a 65 63 74 43 6f 6d 65 |SecondOb|jectCome|
|000028d0| 73 41 66 74 65 72 3b 0d | 09 09 0d 09 09 2b 2b 6f |sAfter;.|.....++o|
|000028e0| 62 6a 65 63 74 31 44 61 | 74 61 3b 0d 09 09 2b 2b |bject1Da|ta;...++|
|000028f0| 6f 62 6a 65 63 74 32 44 | 61 74 61 3b 0d 09 09 2d |object2D|ata;...-|
|00002900| 2d 62 79 74 65 73 54 6f | 43 6f 6d 70 61 72 65 3b |-bytesTo|Compare;|
|00002910| 0d 09 09 7d 0d 09 0d 09 | 2f 2f 0d 09 2f 2f 20 49 |...}....|//..// I|
|00002920| 66 20 74 68 65 20 66 69 | 72 73 74 20 4e 20 62 79 |f the fi|rst N by|
|00002930| 74 65 73 20 6f 66 20 62 | 6f 74 68 20 64 61 74 61 |tes of b|oth data|
|00002940| 20 73 74 72 65 61 6d 73 | 20 61 72 65 0d 09 2f 2f | streams| are..//|
|00002950| 20 74 68 65 20 73 61 6d | 65 2c 20 74 68 65 6e 20 | the sam|e, then |
|00002960| 74 68 65 20 73 68 6f 72 | 74 65 72 20 73 74 72 75 |the shor|ter stru|
|00002970| 63 74 75 72 65 20 63 6f | 6d 65 73 20 62 65 66 6f |cture co|mes befo|
|00002980| 72 65 2e 0d 09 2f 2f 0d | 09 69 66 28 6f 62 6a 65 |re...//.|.if(obje|
|00002990| 63 74 32 4c 65 6e 67 74 | 68 20 3c 20 6f 62 6a 65 |ct2Lengt|h < obje|
|000029a0| 63 74 31 4c 65 6e 67 74 | 68 29 0d 09 09 72 65 74 |ct1Lengt|h)...ret|
|000029b0| 75 72 6e 20 6b 53 65 63 | 6f 6e 64 4f 62 6a 65 63 |urn kSec|ondObjec|
|000029c0| 74 43 6f 6d 65 73 42 65 | 66 6f 72 65 3b 0d 09 69 |tComesBe|fore;..i|
|000029d0| 66 28 6f 62 6a 65 63 74 | 32 4c 65 6e 67 74 68 20 |f(object|2Length |
|000029e0| 3e 20 6f 62 6a 65 63 74 | 31 4c 65 6e 67 74 68 29 |> object|1Length)|
|000029f0| 0d 09 09 72 65 74 75 72 | 6e 20 6b 53 65 63 6f 6e |...retur|n kSecon|
|00002a00| 64 4f 62 6a 65 63 74 43 | 6f 6d 65 73 41 66 74 65 |dObjectC|omesAfte|
|00002a10| 72 3b 0d 09 0d 09 2f 2f | 0d 09 2f 2f 20 45 76 65 |r;....//|..// Eve|
|00002a20| 72 79 20 62 79 74 65 20 | 69 73 20 65 71 75 61 6c |ry byte |is equal|
|00002a30| 20 26 20 74 68 65 20 6c | 65 6e 67 74 68 20 69 73 | & the l|ength is|
|00002a40| 20 74 68 65 20 73 61 6d | 65 2c 0d 09 2f 2f 20 73 | the sam|e,..// s|
|00002a50| 6f 20 74 68 65 20 74 77 | 6f 20 6f 62 6a 65 63 74 |o the tw|o object|
|00002a60| 73 20 61 72 65 20 65 71 | 75 61 6c 0d 09 2f 2f 0d |s are eq|ual..//.|
|00002a70| 09 72 65 74 75 72 6e 20 | 6b 4f 62 6a 65 63 74 4b |.return |kObjectK|
|00002a80| 65 79 73 45 71 75 61 6c | 3b 0d 7d 0d 0d 2f 2f 2d |eysEqual|;.}..//-|
|00002a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00002ae0| 2f 2f 20 54 41 62 73 74 | 72 61 63 74 44 61 74 61 |// TAbst|ractData|
|00002af0| 52 65 66 65 72 65 6e 63 | 65 3a 3a 43 6f 6e 74 61 |Referenc|e::Conta|
|00002b00| 69 6e 73 44 65 66 61 75 | 6c 74 42 65 68 61 76 69 |insDefau|ltBehavi|
|00002b10| 6f 72 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |or.//---|--------|
|00002b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b60| 2d 2d 2d 2d 2d 0d 42 6f | 6f 6c 65 61 6e 20 54 41 |-----.Bo|olean TA|
|00002b70| 62 73 74 72 61 63 74 44 | 61 74 61 52 65 66 65 72 |bstractD|ataRefer|
|00002b80| 65 6e 63 65 3a 3a 43 6f | 6e 74 61 69 6e 73 44 65 |ence::Co|ntainsDe|
|00002b90| 66 61 75 6c 74 42 65 68 | 61 76 69 6f 72 28 63 6f |faultBeh|avior(co|
|00002ba0| 6e 73 74 20 54 41 62 73 | 74 72 61 63 74 44 61 74 |nst TAbs|tractDat|
|00002bb0| 61 52 65 66 65 72 65 6e | 63 65 26 20 6f 62 6a 65 |aReferen|ce& obje|
|00002bc0| 63 74 31 2c 20 63 6f 6e | 73 74 20 54 41 62 73 74 |ct1, con|st TAbst|
|00002bd0| 72 61 63 74 44 61 74 61 | 52 65 66 65 72 65 6e 63 |ractData|Referenc|
|00002be0| 65 26 20 6f 62 6a 65 63 | 74 32 29 0d 7b 0d 09 53 |e& objec|t2).{..S|
|00002bf0| 49 6e 74 33 32 20 73 69 | 7a 65 44 69 66 66 65 72 |Int32 si|zeDiffer|
|00002c00| 65 6e 63 65 20 3d 20 6f | 62 6a 65 63 74 31 2e 44 |ence = o|bject1.D|
|00002c10| 61 74 61 4c 65 6e 67 74 | 68 28 29 20 2d 20 6f 62 |ataLengt|h() - ob|
|00002c20| 6a 65 63 74 32 2e 44 61 | 74 61 4c 65 6e 67 74 68 |ject2.Da|taLength|
|00002c30| 28 29 3b 0d 09 63 6f 6e | 73 74 20 63 68 61 72 2a |();..con|st char*|
|00002c40| 20 64 61 74 61 53 74 61 | 72 74 20 3d 20 6f 62 6a | dataSta|rt = obj|
|00002c50| 65 63 74 31 2e 44 61 74 | 61 28 29 3b 0d 09 42 6f |ect1.Dat|a();..Bo|
|00002c60| 6f 6c 65 61 6e 20 69 73 | 43 6f 6e 74 61 69 6e 65 |olean is|Containe|
|00002c70| 64 20 3d 20 66 61 6c 73 | 65 3b 0d 09 0d 09 77 68 |d = fals|e;....wh|
|00002c80| 69 6c 65 28 73 69 7a 65 | 44 69 66 66 65 72 65 6e |ile(size|Differen|
|00002c90| 63 65 20 3e 3d 20 30 29 | 0d 09 7b 0d 09 09 54 43 |ce >= 0)|..{...TC|
|00002ca0| 6f 6e 73 74 44 61 74 61 | 52 65 66 65 72 65 6e 63 |onstData|Referenc|
|00002cb0| 65 20 63 6f 6e 74 61 69 | 6e 73 54 65 73 74 28 6f |e contai|nsTest(o|
|00002cc0| 62 6a 65 63 74 31 2e 44 | 61 74 61 54 79 70 65 28 |bject1.D|ataType(|
|00002cd0| 29 2c 20 64 61 74 61 53 | 74 61 72 74 2c 20 6f 62 |), dataS|tart, ob|
|00002ce0| 6a 65 63 74 32 2e 44 61 | 74 61 4c 65 6e 67 74 68 |ject2.Da|taLength|
|00002cf0| 28 29 29 3b 0d 09 09 69 | 66 28 63 6f 6e 74 61 69 |());...i|f(contai|
|00002d00| 6e 73 54 65 73 74 2e 43 | 6f 6d 70 61 72 65 28 6f |nsTest.C|ompare(o|
|00002d10| 62 6a 65 63 74 32 29 20 | 3d 3d 20 6b 4f 62 6a 65 |bject2) |== kObje|
|00002d20| 63 74 4b 65 79 73 45 71 | 75 61 6c 29 0d 09 09 7b |ctKeysEq|ual)...{|
|00002d30| 0d 09 09 09 69 73 43 6f | 6e 74 61 69 6e 65 64 20 |....isCo|ntained |
|00002d40| 3d 20 74 72 75 65 3b 0d | 09 09 09 62 72 65 61 6b |= true;.|...break|
|00002d50| 3b 0d 09 09 7d 0d 09 09 | 2b 2b 64 61 74 61 53 74 |;...}...|++dataSt|
|00002d60| 61 72 74 3b 0d 09 09 2d | 2d 73 69 7a 65 44 69 66 |art;...-|-sizeDif|
|00002d70| 66 65 72 65 6e 63 65 3b | 0d 09 7d 0d 09 0d 09 72 |ference;|..}....r|
|00002d80| 65 74 75 72 6e 20 69 73 | 43 6f 6e 74 61 69 6e 65 |eturn is|Containe|
|00002d90| 64 3b 20 0d 7d 20 2f 2f | 20 54 41 62 73 74 72 61 |d; .} //| TAbstra|
|00002da0| 63 74 44 61 74 61 52 65 | 66 65 72 65 6e 63 65 3a |ctDataRe|ference:|
|00002db0| 3a 43 6f 6e 74 61 69 6e | 73 44 65 66 61 75 6c 74 |:Contain|sDefault|
|00002dc0| 42 65 68 61 76 69 6f 72 | 0d 0d 2f 2f 3d 3d 3d 3d |Behavior|..//====|
|00002dd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002de0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002df0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002e00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002e10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 2f 2f 20 |========|====.// |
|00002e20| 43 6c 61 73 73 20 54 43 | 6f 6e 73 74 44 61 74 61 |Class TC|onstData|
|00002e30| 52 65 66 65 72 65 6e 63 | 65 0d 2f 2f 3d 3d 3d 3d |Referenc|e.//====|
|00002e40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002e50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002e60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002e70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002e80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 0d 2f 2f |========|====..//|
|00002e90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ea0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002eb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 54 43 6f 6e |--------|.// TCon|
|00002ef0| 73 74 44 61 74 61 52 65 | 66 65 72 65 6e 63 65 3a |stDataRe|ference:|
|00002f00| 3a 44 69 72 65 63 74 6c | 79 52 65 61 64 61 62 6c |:Directl|yReadabl|
|00002f10| 65 3a 20 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |e: .//--|--------|
|00002f20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 42 |--------|------.B|
|00002f70| 6f 6f 6c 65 61 6e 20 54 | 43 6f 6e 73 74 44 61 74 |oolean T|ConstDat|
|00002f80| 61 52 65 66 65 72 65 6e | 63 65 3a 3a 44 69 72 65 |aReferen|ce::Dire|
|00002f90| 63 74 6c 79 52 65 61 64 | 61 62 6c 65 28 29 20 63 |ctlyRead|able() c|
|00002fa0| 6f 6e 73 74 0d 7b 0d 09 | 72 65 74 75 72 6e 20 74 |onst.{..|return t|
|00002fb0| 72 75 65 3b 0d 7d 20 2f | 2f 20 54 43 6f 6e 73 74 |rue;.} /|/ TConst|
|00002fc0| 44 61 74 61 52 65 66 65 | 72 65 6e 63 65 3a 3a 44 |DataRefe|rence::D|
|00002fd0| 69 72 65 63 74 6c 79 52 | 65 61 64 61 62 6c 65 20 |irectlyR|eadable |
|00002fe0| 0d 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|00002ff0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003000| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|00003040| 54 43 6f 6e 73 74 44 61 | 74 61 52 65 66 65 72 65 |TConstDa|taRefere|
|00003050| 6e 63 65 3a 3a 44 61 74 | 61 54 79 70 65 3a 20 0d |nce::Dat|aType: .|
|00003060| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00003070| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000030a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000030b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 53 49 6e 74 33 |--------|--.SInt3|
|000030c0| 32 20 54 43 6f 6e 73 74 | 44 61 74 61 52 65 66 65 |2 TConst|DataRefe|
|000030d0| 72 65 6e 63 65 3a 3a 44 | 61 74 61 54 79 70 65 28 |rence::D|ataType(|
|000030e0| 29 20 63 6f 6e 73 74 0d | 7b 0d 09 72 65 74 75 72 |) const.|{..retur|
|000030f0| 6e 20 66 44 61 74 61 54 | 79 70 65 3b 0d 7d 20 2f |n fDataT|ype;.} /|
|00003100| 2f 20 54 43 6f 6e 73 74 | 44 61 74 61 52 65 66 65 |/ TConst|DataRefe|
|00003110| 72 65 6e 63 65 3a 3a 44 | 61 74 61 54 79 70 65 20 |rence::D|ataType |
|00003120| 0d 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|00003130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|00003180| 54 43 6f 6e 73 74 44 61 | 74 61 52 65 66 65 72 65 |TConstDa|taRefere|
|00003190| 6e 63 65 3a 3a 44 61 74 | 61 4c 65 6e 67 74 68 3a |nce::Dat|aLength:|
|000031a0| 20 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | .//----|--------|
|000031b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 53 49 6e |--------|----.SIn|
|00003200| 74 33 32 20 54 43 6f 6e | 73 74 44 61 74 61 52 65 |t32 TCon|stDataRe|
|00003210| 66 65 72 65 6e 63 65 3a | 3a 44 61 74 61 4c 65 6e |ference:|:DataLen|
|00003220| 67 74 68 28 29 20 63 6f | 6e 73 74 0d 7b 0d 09 72 |gth() co|nst.{..r|
|00003230| 65 74 75 72 6e 20 66 44 | 61 74 61 4c 65 6e 67 74 |eturn fD|ataLengt|
|00003240| 68 3b 0d 7d 20 2f 2f 20 | 54 43 6f 6e 73 74 44 61 |h;.} // |TConstDa|
|00003250| 74 61 52 65 66 65 72 65 | 6e 63 65 3a 3a 44 61 74 |taRefere|nce::Dat|
|00003260| 61 4c 65 6e 67 74 68 20 | 0d 0d 2f 2f 2d 2d 2d 2d |aLength |..//----|
|00003270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000032a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000032b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000032c0| 2d 2d 2d 2d 0d 2f 2f 20 | 54 43 6f 6e 73 74 44 61 |----.// |TConstDa|
|000032d0| 74 61 52 65 66 65 72 65 | 6e 63 65 3a 3a 43 6f 70 |taRefere|nce::Cop|
|000032e0| 79 54 6f 3a 20 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |yTo: .//|--------|
|000032f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003340| 0d 53 49 6e 74 33 32 20 | 54 43 6f 6e 73 74 44 61 |.SInt32 |TConstDa|
|00003350| 74 61 52 65 66 65 72 65 | 6e 63 65 3a 3a 43 6f 70 |taRefere|nce::Cop|
|00003360| 79 54 6f 28 63 68 61 72 | 2a 20 64 65 73 74 69 6e |yTo(char|* destin|
|00003370| 61 74 69 6f 6e 2c 20 53 | 49 6e 74 33 32 20 6d 61 |ation, S|Int32 ma|
|00003380| 78 42 79 74 65 73 54 6f | 43 6f 70 79 29 20 63 6f |xBytesTo|Copy) co|
|00003390| 6e 73 74 0d 7b 0d 09 53 | 49 6e 74 33 32 20 62 79 |nst.{..S|Int32 by|
|000033a0| 74 65 73 54 6f 43 6f 70 | 79 20 3d 20 28 66 44 61 |tesToCop|y = (fDa|
|000033b0| 74 61 4c 65 6e 67 74 68 | 20 3e 20 6d 61 78 42 79 |taLength| > maxBy|
|000033c0| 74 65 73 54 6f 43 6f 70 | 79 29 20 3f 20 6d 61 78 |tesToCop|y) ? max|
|000033d0| 42 79 74 65 73 54 6f 43 | 6f 70 79 20 3a 20 66 44 |BytesToC|opy : fD|
|000033e0| 61 74 61 4c 65 6e 67 74 | 68 3b 0d 09 0d 09 43 6f |ataLengt|h;....Co|
|000033f0| 70 79 4d 65 6d 6f 72 79 | 28 66 44 61 74 61 2c 20 |pyMemory|(fData, |
|00003400| 64 65 73 74 69 6e 61 74 | 69 6f 6e 2c 20 62 79 74 |destinat|ion, byt|
|00003410| 65 73 54 6f 43 6f 70 79 | 29 3b 0d 09 0d 09 72 65 |esToCopy|);....re|
|00003420| 74 75 72 6e 20 62 79 74 | 65 73 54 6f 43 6f 70 79 |turn byt|esToCopy|
|00003430| 3b 0d 7d 20 2f 2f 20 54 | 43 6f 6e 73 74 44 61 74 |;.} // T|ConstDat|
|00003440| 61 52 65 66 65 72 65 6e | 63 65 3a 3a 43 6f 70 79 |aReferen|ce::Copy|
|00003450| 54 6f 20 0d 09 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |To ...//|--------|
|00003460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003470| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034b0| 0d 2f 2f 20 54 43 6f 6e | 73 74 44 61 74 61 52 65 |.// TCon|stDataRe|
|000034c0| 66 65 72 65 6e 63 65 3a | 3a 44 61 74 61 3a 20 0d |ference:|:Data: .|
|000034d0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|000034e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 63 6f 6e 73 74 |--------|--.const|
|00003530| 20 63 68 61 72 2a 20 54 | 43 6f 6e 73 74 44 61 74 | char* T|ConstDat|
|00003540| 61 52 65 66 65 72 65 6e | 63 65 3a 3a 44 61 74 61 |aReferen|ce::Data|
|00003550| 28 29 20 63 6f 6e 73 74 | 0d 7b 0d 09 72 65 74 75 |() const|.{..retu|
|00003560| 72 6e 20 66 44 61 74 61 | 3b 0d 7d 20 2f 2f 20 54 |rn fData|;.} // T|
|00003570| 43 6f 6e 73 74 44 61 74 | 61 52 65 66 65 72 65 6e |ConstDat|aReferen|
|00003580| 63 65 3a 3a 44 61 74 61 | 20 0d 0d 2f 2f 3d 3d 3d |ce::Data| ..//===|
|00003590| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000035a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000035b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000035c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000035d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 2f 2f |========|=====.//|
|000035e0| 20 43 6c 61 73 73 20 54 | 55 70 64 61 74 61 44 61 | Class T|UpdataDa|
|000035f0| 74 61 52 65 66 65 72 65 | 6e 63 65 0d 2f 2f 3d 3d |taRefere|nce.//==|
|00003600| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003610| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003620| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003630| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003640| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0d |========|======..|
|00003650| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00003660| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003670| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036a0| 2d 2d 0d 2f 2f 20 54 55 | 70 64 61 74 61 44 61 74 |--.// TU|pdataDat|
|000036b0| 61 52 65 66 65 72 65 6e | 63 65 3a 3a 57 72 69 74 |aReferen|ce::Writ|
|000036c0| 61 62 6c 65 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |able.//-|--------|
|000036d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003710| 2d 2d 2d 2d 2d 2d 2d 0d | 42 6f 6f 6c 65 61 6e 20 |-------.|Boolean |
|00003720| 54 55 70 64 61 74 61 44 | 61 74 61 52 65 66 65 72 |TUpdataD|ataRefer|
|00003730| 65 6e 63 65 3a 3a 57 72 | 69 74 61 62 6c 65 28 29 |ence::Wr|itable()|
|00003740| 20 63 6f 6e 73 74 0d 7b | 0d 09 72 65 74 75 72 6e | const.{|..return|
|00003750| 20 74 72 75 65 3b 0d 7d | 0d 0d 2f 2f 2d 2d 2d 2d | true;.}|..//----|
|00003760| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000037a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|000037b0| 54 55 70 64 61 74 61 44 | 61 74 61 52 65 66 65 72 |TUpdataD|ataRefer|
|000037c0| 65 6e 63 65 3a 3a 44 69 | 72 65 63 74 6c 79 57 72 |ence::Di|rectlyWr|
|000037d0| 69 74 61 62 6c 65 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |itable./|/-------|
|000037e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000037f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 42 6f 6f 6c 65 61 |--------|-.Boolea|
|00003830| 6e 20 54 55 70 64 61 74 | 61 44 61 74 61 52 65 66 |n TUpdat|aDataRef|
|00003840| 65 72 65 6e 63 65 3a 3a | 44 69 72 65 63 74 6c 79 |erence::|Directly|
|00003850| 57 72 69 74 61 62 6c 65 | 28 29 20 63 6f 6e 73 74 |Writable|() const|
|00003860| 0d 7b 0d 09 72 65 74 75 | 72 6e 20 74 72 75 65 3b |.{..retu|rn true;|
|00003870| 0d 7d 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.}..//--|--------|
|00003880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038c0| 2d 2d 2d 2d 2d 2d 0d 2f | 2f 20 54 55 70 64 61 74 |------./|/ TUpdat|
|000038d0| 61 44 61 74 61 52 65 66 | 65 72 65 6e 63 65 3a 3a |aDataRef|erence::|
|000038e0| 4d 61 78 4c 65 6e 67 74 | 68 0d 2f 2f 2d 2d 2d 2d |MaxLengt|h.//----|
|000038f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003930| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 53 49 6e |--------|----.SIn|
|00003940| 74 33 32 20 54 55 70 64 | 61 74 61 44 61 74 61 52 |t32 TUpd|ataDataR|
|00003950| 65 66 65 72 65 6e 63 65 | 3a 3a 4d 61 78 4c 65 6e |eference|::MaxLen|
|00003960| 67 74 68 28 29 20 63 6f | 6e 73 74 0d 7b 0d 09 72 |gth() co|nst.{..r|
|00003970| 65 74 75 72 6e 20 66 4d | 61 78 4c 65 6e 67 74 68 |eturn fM|axLength|
|00003980| 3b 0d 7d 0d 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;.}..//-|--------|
|00003990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039d0| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 55 70 64 61 |-------.|// TUpda|
|000039e0| 74 61 44 61 74 61 52 65 | 66 65 72 65 6e 63 65 3a |taDataRe|ference:|
|000039f0| 3a 53 65 74 44 61 74 61 | 54 79 70 65 0d 2f 2f 2d |:SetData|Type.//-|
|00003a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003a20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003a30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003a40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00003a50| 42 6f 6f 6c 65 61 6e 20 | 54 55 70 64 61 74 61 44 |Boolean |TUpdataD|
|00003a60| 61 74 61 52 65 66 65 72 | 65 6e 63 65 3a 3a 53 65 |ataRefer|ence::Se|
|00003a70| 74 44 61 74 61 54 79 70 | 65 28 53 49 6e 74 33 32 |tDataTyp|e(SInt32|
|00003a80| 20 6e 65 77 54 79 70 65 | 29 0d 7b 0d 09 66 44 61 | newType|).{..fDa|
|00003a90| 74 61 54 79 70 65 20 3d | 20 6e 65 77 54 79 70 65 |taType =| newType|
|00003aa0| 3b 0d 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |;..retur|n true;.|
|00003ab0| 7d 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}..//---|--------|
|00003ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003af0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b00| 2d 2d 2d 2d 2d 0d 2f 2f | 20 54 55 70 64 61 74 61 |-----.//| TUpdata|
|00003b10| 44 61 74 61 52 65 66 65 | 72 65 6e 63 65 3a 3a 53 |DataRefe|rence::S|
|00003b20| 65 74 44 61 74 61 4c 65 | 6e 67 74 68 0d 2f 2f 2d |etDataLe|ngth.//-|
|00003b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00003b80| 53 49 6e 74 33 32 20 54 | 55 70 64 61 74 61 44 61 |SInt32 T|UpdataDa|
|00003b90| 74 61 52 65 66 65 72 65 | 6e 63 65 3a 3a 53 65 74 |taRefere|nce::Set|
|00003ba0| 44 61 74 61 4c 65 6e 67 | 74 68 28 53 49 6e 74 33 |DataLeng|th(SInt3|
|00003bb0| 32 20 6e 65 77 4c 65 6e | 67 74 68 29 0d 7b 0d 09 |2 newLen|gth).{..|
|00003bc0| 66 44 61 74 61 4c 65 6e | 67 74 68 20 3d 20 6e 65 |fDataLen|gth = ne|
|00003bd0| 77 4c 65 6e 67 74 68 20 | 3e 20 66 4d 61 78 4c 65 |wLength |> fMaxLe|
|00003be0| 6e 67 74 68 20 3f 20 66 | 4d 61 78 4c 65 6e 67 74 |ngth ? f|MaxLengt|
|00003bf0| 68 20 3a 20 6e 65 77 4c | 65 6e 67 74 68 3b 0d 0d |h : newL|ength;..|
|00003c00| 09 72 65 74 75 72 6e 20 | 66 44 61 74 61 4c 65 6e |.return |fDataLen|
|00003c10| 67 74 68 3b 0d 7d 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |gth;.}..|//------|
|00003c20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 54 55 |--------|--.// TU|
|00003c70| 70 64 61 74 61 44 61 74 | 61 52 65 66 65 72 65 6e |pdataDat|aReferen|
|00003c80| 63 65 3a 3a 43 6f 70 79 | 46 72 6f 6d 0d 2f 2f 2d |ce::Copy|From.//-|
|00003c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00003ce0| 42 6f 6f 6c 65 61 6e 20 | 54 55 70 64 61 74 61 44 |Boolean |TUpdataD|
|00003cf0| 61 74 61 52 65 66 65 72 | 65 6e 63 65 3a 3a 43 6f |ataRefer|ence::Co|
|00003d00| 70 79 46 72 6f 6d 28 63 | 6f 6e 73 74 20 54 41 62 |pyFrom(c|onst TAb|
|00003d10| 73 74 72 61 63 74 44 61 | 74 61 52 65 66 65 72 65 |stractDa|taRefere|
|00003d20| 6e 63 65 26 20 73 6f 75 | 72 63 65 2c 20 42 6f 6f |nce& sou|rce, Boo|
|00003d30| 6c 65 61 6e 20 61 6c 6c | 6f 77 44 61 74 61 54 6f |lean all|owDataTo|
|00003d40| 43 6c 69 70 29 0d 7b 0d | 09 42 6f 6f 6c 65 61 6e |Clip).{.|.Boolean|
|00003d50| 20 63 6f 70 79 46 69 74 | 73 20 3d 20 73 6f 75 72 | copyFit|s = sour|
|00003d60| 63 65 2e 44 61 74 61 4c | 65 6e 67 74 68 28 29 20 |ce.DataL|ength() |
|00003d70| 3c 3d 20 66 4d 61 78 4c | 65 6e 67 74 68 3b 0d 09 |<= fMaxL|ength;..|
|00003d80| 0d 09 69 66 28 63 6f 70 | 79 46 69 74 73 20 7c 7c |..if(cop|yFits |||
|00003d90| 20 61 6c 6c 6f 77 44 61 | 74 61 54 6f 43 6c 69 70 | allowDa|taToClip|
|00003da0| 29 0d 09 7b 0d 09 09 66 | 44 61 74 61 4c 65 6e 67 |)..{...f|DataLeng|
|00003db0| 74 68 20 3d 20 73 6f 75 | 72 63 65 2e 43 6f 70 79 |th = sou|rce.Copy|
|00003dc0| 54 6f 28 74 68 69 73 2d | 3e 44 61 74 61 28 29 2c |To(this-|>Data(),|
|00003dd0| 20 66 4d 61 78 4c 65 6e | 67 74 68 29 3b 0d 09 09 | fMaxLen|gth);...|
|00003de0| 74 68 69 73 2d 3e 53 65 | 74 44 61 74 61 54 79 70 |this->Se|tDataTyp|
|00003df0| 65 28 73 6f 75 72 63 65 | 2e 44 61 74 61 54 79 70 |e(source|.DataTyp|
|00003e00| 65 28 29 29 3b 0d 09 7d | 0d 09 0d 09 72 65 74 75 |e());..}|....retu|
|00003e10| 72 6e 20 63 6f 70 79 46 | 69 74 73 3b 0d 7d 20 2f |rn copyF|its;.} /|
|00003e20| 2f 20 54 55 70 64 61 74 | 61 44 61 74 61 52 65 66 |/ TUpdat|aDataRef|
|00003e30| 65 72 65 6e 63 65 3a 3a | 43 6f 70 79 46 72 6f 6d |erence::|CopyFrom|
|00003e40| 0d 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|00003e50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e90| 2d 2d 2d 2d 0d 2f 2f 20 | 54 55 70 64 61 74 61 44 |----.// |TUpdataD|
|00003ea0| 61 74 61 52 65 66 65 72 | 65 6e 63 65 3a 3a 44 61 |ataRefer|ence::Da|
|00003eb0| 74 61 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ta.//---|--------|
|00003ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f00| 2d 2d 2d 2d 2d 0d 63 68 | 61 72 2a 20 54 55 70 64 |-----.ch|ar* TUpd|
|00003f10| 61 74 61 44 61 74 61 52 | 65 66 65 72 65 6e 63 65 |ataDataR|eference|
|00003f20| 3a 3a 44 61 74 61 28 29 | 0d 7b 0d 09 72 65 74 75 |::Data()|.{..retu|
|00003f30| 72 6e 20 28 63 68 61 72 | 2a 29 66 44 61 74 61 3b |rn (char|*)fData;|
|00003f40| 0d 7d 0d 0d 2f 2f 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.}..//==|========|
|00003f50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003f60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003f70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003f80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003f90| 3d 3d 3d 3d 3d 3d 0d 2f | 2f 20 43 6c 61 73 73 20 |======./|/ Class |
|00003fa0| 54 54 72 61 6e 73 69 65 | 6e 74 44 61 74 61 52 65 |TTransie|ntDataRe|
|00003fb0| 66 65 72 65 6e 63 65 0d | 2f 2f 3d 3d 3d 3d 3d 3d |ference.|//======|
|00003fc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003fd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003fe0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003ff0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004000| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 0d 2f 2f 2d 2d |========|==..//--|
|00004010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004040| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004050| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00004060| 2f 20 54 54 72 61 6e 73 | 69 65 6e 74 44 61 74 61 |/ TTrans|ientData|
|00004070| 52 65 66 65 72 65 6e 63 | 65 3a 3a 54 54 72 61 6e |Referenc|e::TTran|
|00004080| 73 69 65 6e 74 44 61 74 | 61 52 65 66 65 72 65 6e |sientDat|aReferen|
|00004090| 63 65 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ce.//---|--------|
|000040a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040e0| 2d 2d 2d 2d 2d 0d 54 54 | 72 61 6e 73 69 65 6e 74 |-----.TT|ransient|
|000040f0| 44 61 74 61 52 65 66 65 | 72 65 6e 63 65 3a 3a 54 |DataRefe|rence::T|
|00004100| 54 72 61 6e 73 69 65 6e | 74 44 61 74 61 52 65 66 |Transien|tDataRef|
|00004110| 65 72 65 6e 63 65 28 63 | 6f 6e 73 74 20 54 41 62 |erence(c|onst TAb|
|00004120| 73 74 72 61 63 74 44 61 | 74 61 52 65 66 65 72 65 |stractDa|taRefere|
|00004130| 6e 63 65 26 20 64 61 74 | 61 29 20 3a 0d 09 54 43 |nce& dat|a) :..TC|
|00004140| 6f 6e 73 74 44 61 74 61 | 52 65 66 65 72 65 6e 63 |onstData|Referenc|
|00004150| 65 28 64 61 74 61 2e 44 | 61 74 61 54 79 70 65 28 |e(data.D|ataType(|
|00004160| 29 2c 20 6e 69 6c 2c 20 | 64 61 74 61 2e 44 61 74 |), nil, |data.Dat|
|00004170| 61 4c 65 6e 67 74 68 28 | 29 29 2c 20 66 41 6c 6c |aLength(|)), fAll|
|00004180| 6f 63 61 74 65 64 44 61 | 74 61 28 66 61 6c 73 65 |ocatedDa|ta(false|
|00004190| 29 0d 7b 0d 09 69 66 28 | 64 61 74 61 2e 44 69 72 |).{..if(|data.Dir|
|000041a0| 65 63 74 6c 79 52 65 61 | 64 61 62 6c 65 28 29 20 |ectlyRea|dable() |
|000041b0| 3d 3d 20 66 61 6c 73 65 | 29 0d 09 7b 0d 09 09 66 |== false|)..{...f|
|000041c0| 44 61 74 61 09 09 09 3d | 20 6e 65 77 20 63 68 61 |Data...=| new cha|
|000041d0| 72 5b 64 61 74 61 2e 44 | 61 74 61 4c 65 6e 67 74 |r[data.D|ataLengt|
|000041e0| 68 28 29 5d 3b 0d 09 09 | 66 41 6c 6c 6f 63 61 74 |h()];...|fAllocat|
|000041f0| 65 64 44 61 74 61 09 3d | 20 74 72 75 65 3b 0d 09 |edData.=| true;..|
|00004200| 09 0d 09 09 64 61 74 61 | 2e 43 6f 70 79 54 6f 28 |....data|.CopyTo(|
|00004210| 28 63 68 61 72 2a 29 66 | 44 61 74 61 2c 20 66 44 |(char*)f|Data, fD|
|00004220| 61 74 61 4c 65 6e 67 74 | 68 29 3b 0d 09 7d 0d 09 |ataLengt|h);..}..|
|00004230| 65 6c 73 65 0d 09 7b 0d | 09 09 66 44 61 74 61 09 |else..{.|..fData.|
|00004240| 09 09 3d 20 64 61 74 61 | 2e 44 61 74 61 28 29 3b |..= data|.Data();|
|00004250| 0d 09 7d 0d 7d 0d 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |..}.}../|/-------|
|00004260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000042a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 2f 2f 20 54 54 72 |--------|-.// TTr|
|000042b0| 61 6e 73 69 65 6e 74 44 | 61 74 61 52 65 66 65 72 |ansientD|ataRefer|
|000042c0| 65 6e 63 65 3a 3a 7e 54 | 54 72 61 6e 73 69 65 6e |ence::~T|Transien|
|000042d0| 74 44 61 74 61 52 65 66 | 65 72 65 6e 63 65 0d 2f |tDataRef|erence./|
|000042e0| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|000042f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004330| 2d 0d 54 54 72 61 6e 73 | 69 65 6e 74 44 61 74 61 |-.TTrans|ientData|
|00004340| 52 65 66 65 72 65 6e 63 | 65 3a 3a 7e 54 54 72 61 |Referenc|e::~TTra|
|00004350| 6e 73 69 65 6e 74 44 61 | 74 61 52 65 66 65 72 65 |nsientDa|taRefere|
|00004360| 6e 63 65 28 29 0d 7b 0d | 09 69 66 28 66 41 6c 6c |nce().{.|.if(fAll|
|00004370| 6f 63 61 74 65 64 44 61 | 74 61 29 0d 09 09 64 65 |ocatedDa|ta)...de|
|00004380| 6c 65 74 65 20 28 63 68 | 61 72 2a 29 66 44 61 74 |lete (ch|ar*)fDat|
|00004390| 61 3b 0d 7d 0d 0d 00 00 | 00 00 00 00 00 00 00 00 |a;.}....|........|
|000043a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000043b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000043c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000043d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000043e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000043f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004400| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00004410| 00 00 2e e2 09 53 69 67 | 6e 61 74 75 72 65 00 00 |.....Sig|nature..|
|00004420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004430| 0f 41 62 73 74 72 61 63 | 74 44 61 74 61 2e 63 70 |.Abstrac|tData.cp|
|00004440| 02 00 00 00 54 45 58 54 | 43 57 49 45 01 00 00 00 |....TEXT|CWIE....|
|00004450| 00 00 54 45 58 54 43 57 | 49 45 01 00 00 00 00 00 |..TEXTCW|IE......|
|00004460| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004470| 00 00 ab dd 6d 78 00 00 | 43 16 00 00 01 9a 00 00 |....mx..|C.......|
|00004480| 00 00 00 00 00 00 00 00 | 00 00 00 3c 25 00 00 00 |........|...<%...|
|00004490| 30 a2 18 44 61 74 61 47 | 72 6f 75 70 43 6f 6e 74 |0..DataG|roupCont|
|000044a0| 72 6f 6c 4f 62 6a 65 63 | 74 2e 68 00 00 00 00 00 |rolObjec|t.h.....|
|000044b0| 00 00 00 00 00 3d 25 00 | 00 00 30 a2 0d 44 42 50 |.....=%.|..0..DBP|
|000044c0| 72 6f 70 65 72 74 79 2e | 63 70 00 00 00 00 00 00 |roperty.|cp......|
|000044d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 3f |........|.......?|
|000044e0| 25 00 00 00 30 a2 11 44 | 6f 63 75 6d 65 6e 74 4d |%...0..D|ocumentM|
|000044f0| 61 6e 61 67 65 72 2e 68 | 00 00 00 00 00 00 00 00 |anager.h|........|
|00004500| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00004510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004520| 00 00 00 00 00 00 00 03 | 00 04 ff c1 04 56 02 e5 |........|.....V..|
|00004530| 07 68 ff c1 04 56 02 e5 | 07 68 ad 3f 90 81 00 00 |.h...V..|.h.?....|
|00004540| 00 4b 00 00 00 4b 00 00 | 00 00 01 00 00 00 00 04 |.K...K..|........|
|00004550| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00004560| 00 00 00 46 02 9b 35 e8 | 1e da 00 00 00 1c 00 46 |...F..5.|.......F|
|00004570| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00004580| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00004590| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|000045a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000045b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000045c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000045d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000045e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000045f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+